# -*- coding: utf-8 -*-

# Created on 07/08/2010

# Copyright (C) 2010  Sergio Rodrigo

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.


import pygame
from pygame.locals import *

from core.Component import Component, STATE_PRESSED, STATE_NONE, STATE_RELEASED

KEY_A = pygame.K_a
KEY_B = pygame.K_b
KEY_C = pygame.K_c
KEY_Q = pygame.K_q

KEY_UP = pygame.K_UP
KEY_DOWN = pygame.K_DOWN
KEY_ESCAPE = pygame.K_ESCAPE

class Key(Component):
    """ Represents a key of a keyboard.
    
    Extends Component.
    
    """

    def update(self, event):
        if event.type in (KEYDOWN, KEYUP) and self.value == event.key:
            if event.type == KEYDOWN:
                self.currentState = STATE_PRESSED
            elif event.type == KEYUP:
                self.currentState = STATE_RELEASED
            else:
                self.currentState = STATE_NONE
            

# eof
